    //获取 的第 m 个元素的最大值向量 F 和 0，然后存储在 G 中
    void activate_function(const int SIZE, const double F[1][SIZE], double G[1][SIZE]) {
    for (int m = 0; m < SIZE; m++) {
        // 取 F[m] 和 0 的最大值
        if (F[0][m] > 0) {
            G[0][m] = F[0][m];
        } else {
            G[0][m] = 0.0;
        }
    }
}
    //softmax函数，先有对exp函数的定义（即指数函数，用于e的n次方）
    // 自定义指数函数。
double my_exp(double x) {
    if (x == 0.0) return 1.0;
    
    int is_negative = (x < 0);
    if (is_negative) x = -x;
    
    double result = 1.0;
    double term = 1.0;
    int n = 1;
    
    while (term > 1e-10 && n < 100) {
        term *= x / n;
        result += term;
        n++;
    }
    
    return is_negative ? 1.0 / result : result;
}

// Softmax 函数
void soft_max(const int size, const double l[1][size], double s[1][size]) {
    // 找到最大值
    double max_val = l[0][0];
    for (int i = 1; i < size; i++) {
        if (l[0][i] > max_val) max_val = l[0][i];
    }
    
    // 计算指数和
    double sum = 0.0;
    for (int i = 0; i < size; i++) {
        s[0][i] = my_exp(l[0][i] - max_val);
        sum += s[0][i];
    }
    
    // 归一化
    for (int i = 0; i < size; i++) {
        s[0][i] /= sum;
    }
}